// @Description Service基类
// @Author  xiaoyang
// @Date  2025/11/26

package services

import (
	"github.com/jinzhu/gorm"
)

// Service 服务层基类
// 提供通用的服务层方法和数据库访问能力
type Service struct {
}

// GetDB 获取数据库连接
// 子类可以通过此方法获取数据库连接进行操作
func (s *Service) GetDB(dbName string) *gorm.DB {
	// 这里可以从 providers.Mysqls 获取数据库连接
	// 子类可以重写此方法以适应不同的数据库连接需求
	return nil
}

// BeginTx 开启事务
// 用于需要事务支持的业务场景
func (s *Service) BeginTx(db *gorm.DB) *gorm.DB {
	return db.Begin()
}

// CommitTx 提交事务
func (s *Service) CommitTx(tx *gorm.DB) error {
	return tx.Commit().Error
}

// RollbackTx 回滚事务
func (s *Service) RollbackTx(tx *gorm.DB) error {
	return tx.Rollback().Error
}
